package dataview;

import org.jdom.Element;
import exceptions.XmlException;

public enum Unita {
	litro, decilitro, centilitro, millilitro, chilogrammo, grammo, centigrammo, milligrammo;
	
	public Element toXml() {
		return new Element("unita").setText(name());
	}
	
	public static Unita fromXml(Element e) throws XmlException {
		if (e.getName() != "unita") throw new XmlException("L'elemento passato come parametro non rappresenta un'unita");
		return Unita.valueOf(e.getText());
	}
	
	public String toString(boolean plurale) {
		if (!plurale) return toString();
		return toString().substring(0, toString().length() - 1) + "i";
	}
	
	public String toStringShort() {
		switch (this) {
			case chilogrammo:
				return "kg";
			case decilitro:
			case centilitro:
			case millilitro:
				return toString().charAt(0) + "l";
			case grammo:
				return "gr";
			case litro:
				return "lt";
			case centigrammo:
			case milligrammo:
				return toString().charAt(0) + "g";
			default:
				return null;
		}
	}
}